package com.dodoke.mappers;

import com.dodoke.beans.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface UserMapper {

    List<User> selectAll();

//    添加注释
    User getUserById(int iddddddd);


    List<User> getUserByNameAndAge(String name, int age);

    List<User> getUserByNameAndAgeMap(Map<String, Object> map);

    // 多参数传递，使用 Param 注解指定参数名称
    List<User> getUserByNameAndAgeAnnotation(@Param("name") String name, @Param("age") int age);

    /**
     * 多参数
     * 1. 使用 map 传递参数，map 的键即为传递参数的名称，map 的值即为参数的值
     * 2. 使用 @Param 注解指定参数的名称 （使用最多）
     * 3. 使用 arg、param 作为参数的传递名称
     *
     *
     * 一个参数时并不关心传递的参数名称
     */
    // 新增数据
    void insertUser(User user1);

    // 删除数据
    void deleteUser(int id);


}
